package com.lancoo.ccas53.pojo.response;

import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * @author quin
 * @ClassName BasicPlatformReponse.java
 * @Description 基础平台 成绩管理
 * @createTime 2022年07月07日 19:08:00
 */
@Data
public class BasicPlatformResponse<T> {

    /**
     * 状态码
     */
    private Integer StatusCode;

    /**
     * 请求不成功时的错误码
     */
    private Integer ErrCode;

    /**
     * 请求结果的文本信息
     */
    private String Msg;

    /**
     * 接口主要数据体
     */
    private T Data;

    public T getDataObject(Class<T> clazz) {
        if (ObjectUtil.isEmpty(this.Data)) {
            return null;
        }
        return JSONObject.parseObject(this.Data.toString(), clazz);

    }

    public List<T> getDataList(Class<T> clazz) {
        if (ObjectUtil.isEmpty(this.Data)) {
            return new ArrayList<>();
        }
        return JSONObject.parseArray(this.Data.toString(), clazz);
    }
}
